#include <ServoC.h>

// Controlling a servo position using a potentiometer (variable resistor) 
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 

#include <ServoC.h> 
 
#include "WProgram.h"
void setup();
void loop();
ServoC myservo(13,90, 300, 1500);  // create servo object to control a servo 
 
int potpin = 2;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin 
 
void setup() 
{ 
  pinMode(13, OUTPUT);  
  Serial.begin(9600);
} 
 
void loop() 
{ 
  unsigned long startTime = micros();
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
  Serial.println( micros() - startTime);
  
  startTime = micros();
  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  Serial.println( micros() - startTime);
  
  startTime = micros();
  myservo.write(val);
 // Serial.println(myservo.readpulse());
 Serial.println( micros() - startTime);
 
  startTime = micros();
  myservo.refresh();
  Serial.println( micros() - startTime);
} 

int main(void)
{
	init();

	setup();
    
	for (;;)
		loop();
        
	return 0;
}

